Method Inlining, Dynamic Class Loading, and Type Soundness.
نویسندگان
چکیده
منابع مشابه
Method Inlining, Dynamic Class Loading, and Type Soundness
Method inlining is an optimisation that can be invalidated by later class loading. A program analysis based on the current loaded classes might determine that a method call has a unique target, but later class loading could add targets. If a compiler speculatively inlines methods based on current information, then it will have to undo the inlining when later classes invalidate the assumptions. ...
متن کاملMethod Inlining , Dynamic Class Loading , and Type
Method inlining is an optimisation that can be invalidated by later class loading. A program analysis based on the current loaded classes might determine that a method call has a unique target, but later class loading could add targets. If a compiler speculatively inlines methods based on current information, then it will have to undo the inlining when later classes invalidate the assumptions. ...
متن کاملType-Safe Method Inlining
In a typed language such as Java, inlining of virtual methods does not always preserve typability. The best known solution to this problem is to insert type casts, which may hurt performance. This paper presents a solution that never hurts performance. The solution is based on a transformation that modifies static type annotations and changes some virtual calls into static calls, which can then...
متن کاملCoinductive Soundness of Corecursive Type Class Resolution
Horn clauses and first-order resolution are commonly used for the implementation of type classes in Haskell. Recently, several corecursive extensions to type class resolution have been proposed, with the common goal of allowing (co)recursive dictionary construction for those cases when resolution does not terminate. This paper shows, for the first time, that corecursive type class resolution an...
متن کاملSecurity and Dynamic Class Loading in Java: A Formalization
We give a formal specification of the dynamic loading of classes in the Java Virtual Machine (JVM) and of the visibility of members of the loaded classes. This specification is obtained by identifying the part of the run-time state of the JVM that is relevant for dynamic loading and visibility and consists of a set of inference rules defining abstract operations for loading, linking and verific...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: The Journal of Object Technology
سال: 2005
ISSN: 1660-1769
DOI: 10.5381/jot.2005.4.8.a2